/**
 * Created whit IntelliJ IDEA.
 * Description：
 * User：ZHONGCHEN
 * Date:2022-02-18
 * Time:14:30
 */

/**
 * 1791. 找出星型图的中心节点
 * 有一个无向的 星型 图，由 n 个编号从 1 到 n 的节点组成。星型图有一个 中心 节点，并且恰有 n - 1 条边将中心节点与其他每个节点连接起来。
 * <p>
 * 给你一个二维整数数组 edges ，其中 edges[i] = [ui, vi] 表示在节点 ui 和 vi 之间存在一条边。请你找出并返回 edges 所表示星型图的中心节点。
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/find-center-of-star-graph
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class TestDemo {
    //桶排
    public static int findCenter(int[][] edges) {
        int[] num = new int[edges.length + 2];
        for (int[] a : edges) {
            for (int s : a) {
                num[s]++;
            }
        }
        for (int i = 1; i < num.length; i++) {
            if (num[i] != 1) {
                return i;
            }
        }
        return 0;
    }

    public static void main(String[] args) {
        int[][] edges = {{1, 2}, {2, 3}, {4, 2}};
        System.out.println(findCenter(edges));
    }

    //找两个一维数组中相等的数字
    public static int findCenter1(int[][] edges) {
        int a = edges[0][0];
        int b = edges[0][1];
        if (a == edges[1][0] || a == edges[1][1]){
            return a;
        }
        return b;
    }
}

